package com.boot.ys.mybatisplus.script;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

/**
 * 描述 png的图片格式转换为jpg
 *
 * @Author yangsheng
 * @Date 2024/10/9 10:35
 */
public class PngToJpg {

    public static void main(String[] args) {

        // SpringBoot1.0 424  SSM1.0 641

            // 指定根目录
            String rootDirectory = "E:\\BaiduNetdiskDownload\\上传h5商城数据库\\SSM1.0";

            // 调用转换方法
            convertPngToJpg(new File(rootDirectory));
        }

        /**
         * 递归遍历目录并转换所有.png文件为.jpg文件
         *
         * @param directory 要遍历的目录
         */
        public static void convertPngToJpg (File directory){
            if (directory.isDirectory()) {
                // 获取目录下的所有文件和文件夹
                File[] files = directory.listFiles();
                if (files != null) {
                    for (File file : files) {
                        if (file.isDirectory()) {
                            // 递归进入子目录
                            convertPngToJpg(file);
                        } else {
                            // 检查文件是否是以.png结尾
                            if (file.getName().toLowerCase().endsWith(".png")) {
                                // 构建新的文件名
                                String newFileName = file.getName().replaceAll("\\.png$", ".jpg");
                                File newFile = new File(file.getParent(), newFileName);

                                // 重命名文件
                                if (file.renameTo(newFile)) {
                                    System.out.println("转换成功: " + file.getName() + " -> " + newFile.getName());
                                } else {
                                    System.out.println("转换失败: " + file.getName());
                                }
                            }
                        }
                    }
                }
            }
        }
    }
